package com.hhh.corejava.code06_数组;

import java.util.Arrays;

/**
 * @autor 黄焕晖
 * @date 2025年10月26日15:27
 **/
public class Test11_不定长参数 {
    public static void main(String[] args) {

        System.out.println(sum(new int[]{10,20,30,40,50,60}));
        System.out.println(sum2(10,20,30,40,50,60));

        test();
        test(10,20,30,40,50,60);
    }

    public static int sum(int[] arr){
        int sum = 0;
        for(int i = 0;i< arr.length;i++){
            sum+=arr[i];
        }
        return sum;
    }

     /**
      * 计算多个整数的和
      * @param arr 多个整数
      * @return 多个整数的和
      */
     //在定义方法时，无法知道在调用时会具体传递几个参数
     //此时参数可以没有，也可以只有一个，还能存在多个
     public static int sum2(int... arr){
        int sum = 0;
        for(int i = 0;i< arr.length;i++){
            sum+=arr[i];
        }
        return sum;
    }

    public static void test(int... arr){
        System.out.println(Arrays.toString(arr));
    }

    //在使用不定长参数时，存在一些限制
    //1、在一个方法中只能存在一个不定长参数
    //public static void test2(int... arr,int... a){}
    //2、如果一个方法中存在多个参数，不定长参数必须放在最后面
    //public static void test2(int... arr,inta){}
}
